#ifndef CARGADORFRASES_H_
#define CARGADORFRASES_H_

#include "../HashExtensible/HashFile.h"
#include "../HashExtensible/RegistroHash.h"


/** La mayoria de este codigo fue robado del pre-procesador de texto
 * de la pre-entrega del TP, pero modificado para respetar las mayusculas
 * */
class CargadorFrases {
private:
	HashFile& _hash;

	// Normaliza el archivo sacando los simbolos diacríticos y guarda el resultado en un nuevo archivo
	std::string normalizarEntrada(std::string nomArch) const;

	RegistroHash parsearLinea(std::string linea) const;

	// Para las transformaciones de los caracteres
	char filtrarChar(wchar_t c) const;
	char transformarChar(wchar_t c) const;

	unsigned long int getRandom() const;

public:
	CargadorFrases(HashFile& hf);

	void cargarFrases(std::string nomArch);
};

#endif /* CARGADORFRASES_H_ */
